module main

    use iso_c_binding 
    
    implicit none
    
    contains
    
        ! subroutine go4(part3d_in,dim1,dim2)bind(c,name='go4')
    subroutine go4(part3d_in,dim)bind(c,name='go4')   
        use example3

        type(c_ptr), value, intent(in) :: part3d_in
        ! integer(c_int), intent(inout) :: dim1,dim2
        integer(c_int), intent(in) :: dim
        type(mainn) :: md
            ! call md%go3(part3d_in,dim1,dim2)
            call md%go3(part3d_in,dim)
            print*,dim
            stop
    end subroutine  

end module main